using System;
using System.ComponentModel.DataAnnotations;

namespace Boa.HD.AccesoDatos.Entidades
{
 public partial class HD_SolicitudAsistencia
 {
     public HD_SolicitudAsistencia()
     {
     }
     #region foreign Keys

     public int DefinicionProblemaId_FK {get;set;}
     private HD_DefinicionProblema DefinicionProblemaId_obj ;
     public virtual HD_DefinicionProblema DefinicionProblema
      {
          get { return DefinicionProblemaId_obj; }
          set {
                DefinicionProblemaId_obj = value;
                if (DefinicionProblemaId_obj != null) DefinicionProblemaId_FK = DefinicionProblemaId_obj.Id; 
          }
      }
     #endregion
     public virtual int   Id { get; set;}

     [Display(Name = "FechaRegistro")]
     public virtual DateTime   FechaRegistro { get; set;}

     [Display(Name = "FechaActualizacion")]
     public virtual DateTime?   FechaActualizacion { get; set;}

     [StringLength(100, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "GuidSolicitante")]
     public virtual string   GuidSolicitante { get; set;}

     [StringLength(100, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "GuidRegion")]
     public virtual string   GuidRegion { get; set;}

     [StringLength(100, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "NombreSolicitante")]
     public virtual string   NombreSolicitante { get; set;}

     [StringLength(255, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "GuidEquipoAsignado")]
     public virtual string   GuidEquipoAsignado { get; set;}

     [StringLength(100, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "EMailSolicitante")]
     public virtual string   EMailSolicitante { get; set;}

     [StringLength(1000, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "DescripcionProblema")]
     public virtual string   DescripcionProblema { get; set;}

     [Display(Name = "FueSolucionRapida")]
     public virtual bool   FueSolucionRapida { get; set;}

     [Display(Name = "NivelJerarquico")]
     public virtual int?   NivelJerarquico { get; set;}

     [StringLength(100, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "NombreJerarquia")]
     public virtual string   NombreJerarquia { get; set;}

     [StringLength(100, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Cargo")]
     public virtual string   Cargo { get; set;}

     public virtual int EmpleadoId { get; set; }

     public virtual string GuidSolicitudAsistencia { get; set; }


     

     //No mapeado
     //public HD_EstadoTrabajo EstadoTrabajo { get; set; }
     //public HD_HistoriaProblemaAsistido HistoriaUltimaAtencion { get; set; }


     public DTO.DtoHistoriaProblemaAsistido HistoriaUltimaAtencion { get; set; }

     

 }
}

